home *** CD-ROM | disk | FTP | other *** search
- /*++
-
- Copyright c 1996 Intel Corporation
- All Rights Reserved
-
- Permission is granted to use, copy and distribute this software and
- its documentation for any purpose and without fee, provided, that
- the above copyright notice and this statement appear in all copies.
- Intel makes no representations about the suitability of this
- software for any purpose. This software is provided "AS IS."
-
- Intel specifically disclaims all warranties, express or implied,
- and all liability, including consequential and other indirect
- damages, for the use of this software, including liability for
- infringement of any proprietary rights, and including the
- warranties of merchantability and fitness for a particular purpose.
- Intel does not assume any responsibility for any errors which may
- appear in this software nor any responsibility to update it.
-
- Module Name:
-
- SPI.CPP :
-
- Abstract:
-
- This file defines a macros for tracing and the function prototypes for the
- actual output functions. If the symbol TRACING is not defined all the
- macros expands to ((void)0).
-
- There are three global variables that control the behavior of the tracing
- macros/functions. debugLevel is a 32 bit bitmask that determine controls
- what level of debug messages is output. iTraceDestination controls whether
- the debug output goes to a file or to the aux device. if iTraceDestination
- == TRACE_TO_FILE szTraceFile must contain the filename.
-
-
- --*/
-
- #ifndef __TRACE_H__
- #define __TRACE_H__
-
- extern
- #if defined(__cplusplus)
- "C"
- #endif // defined(__cplusplus)
- VOID PrintDebugString(char *format, ...);
-
- //
- // defines for where the debug output should go
- //
- #define TRACE_TO_FILE 0
- #define TRACE_TO_AUX 1
-
- // the size of the string buffers used as arg to wsprintf
- // in trace.c
- #define TRACE_OUTPUT_BUFFER_SIZE 1024
-
- // Debug level masks
- #define DBG_TRACE 0x00000001
- #define DBG_WARN 0x00000002
- #define DBG_ERR 0x00000004
- #define DBG_MEMORY 0x00000008
- #define DBG_LIST 0x00000010
- #define DBG_FUNCTION 0x00000020
-
- #if defined(TRACING)
-
- extern
- #if defined(__cplusplus)
- "C"
- #endif // defined(__cplusplus)
- DWORD debugLevel;
-
- //
- // This macro creates debug output depending on the debug mask "sev" and
- // calls PrintDebugString output function. PrintDebugString makes the
- // descision on whether the output goes into a file or to the aux device.
- //
- #define DEBUGF(sev, var_args) \
- { \
- if ((sev) & debugLevel) { \
- switch (sev) { \
- case DBG_TRACE: \
- PrintDebugString("-| TRACE :: "); \
- PrintDebugString(" %s : %d |-\n", __FILE__, __LINE__ ); \
- PrintDebugString var_args ; \
- break; \
- case DBG_WARN: \
- PrintDebugString("-| WARNING :: "); \
- PrintDebugString(" %s : %d |-\n", __FILE__, __LINE__ ); \
- PrintDebugString var_args ; \
- break; \
- case DBG_ERR: \
- PrintDebugString("-| ERROR :: "); \
- PrintDebugString(" %s : %d |-\n", __FILE__, __LINE__ ); \
- PrintDebugString var_args; \
- break; \
- case DBG_MEMORY: \
- PrintDebugString("-| MEMORY :: "); \
- PrintDebugString(" %s : %d |-\n", __FILE__, __LINE__ ); \
- PrintDebugString var_args ; \
- break; \
- case DBG_LIST: \
- PrintDebugString("-| LIST :: "); \
- PrintDebugString(" %s : %d |-\n", __FILE__, __LINE__ );\
- PrintDebugString var_args ; \
- break; \
- case DBG_FUNCTION: \
- PrintDebugString var_args; \
- break; \
- } \
- } \
- } \
-
-
-
- #define ALLOC_LOG( pointer, size) \
- DEBUGF( DBG_MEMORY ,("MEMORY %lX size %X Allocated \n", \
- (pointer),(size))) \
-
- #define DEALLOC_LOG(pointer, size) \
- DEBUGF( DBG_MEMORY ,("MEMORY %lX size %X Deallocated \n", \
- (pointer),(size))) \
-
-
- #define LIST_ADD_LOG(list, element) \
- DEBUGF( DBG_LIST ,("LIST %lX element %lX Added \n", \
- (list),(element))) \
-
- #define LIST_DEL_LOG(list, element) \
- DEBUGF( DBG_LIST ,("LIST %lX element %lX Deleted \n", \
- (list),(element))) \
-
- #define ENTER_FUNCTION(name) \
- DEBUGF( DBG_FUNCTION,name) \
-
-
- #define EXIT_FUNCTION(name) \
- DEBUGF( DBG_FUNCTION,name) \
-
-
- #else // TRACING
- // make sure that these are defined if tracing is turned off
- #define DEBUGF(sev, va) ((void)0)
- #define LIST_ADD_LOG(list, element) ((void)0)
- #define LIST_DEL_LOG(list, element) ((void)0)
- #define ENTER_FUNCTION(name) ((void)0)
- #define EXIT_FUNCTION(name) ((void)0)
- #define ALLOC_LOG( pointer, size) \
- DEBUGF( DBG_MEMORY ,("", \
- (pointer),(size))) \
-
- #define DEALLOC_LOG(pointer, size)\
- DEBUGF( DBG_MEMORY ,("",\
- (pointer),(size))) \
-
- #endif // TRACING
-
- #endif // __TRACE_H__
-
-